package com.base.pig.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.base.pig.dto.AlarmListDto;
import com.base.pig.dto.AlarmNowDto;
import com.base.pig.dto.AlarmOnTimeDto;
import com.base.pig.dto.TableDto;
import com.base.pig.entity.SensorCheckAlarm;
import com.base.pig.vo.AlarmListVo;
import com.base.pig.vo.AlarmOnTimeVo;
import com.base.pig.vo.StatisticOnlineVo;
import com.base.pig.vo.StatisticVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 程序根据用户设定的上下限判断的报警数据 Mapper 接口
 * </p>
 *
 * @author wzx
 * @since 2022-04-12
 */
@Mapper
public interface SensorCheckAlarmMapper extends BaseMapper<SensorCheckAlarm> {
    @MapKey("id")
    List<AlarmListVo> queryAlarmList(IPage<AlarmListVo> page, @Param("AlarmListDto") AlarmListDto alarmListDto);

    @MapKey("id")
    List<AlarmListVo> exportAlarmList(@Param("AlarmListDto") AlarmListDto alarmListDto);

    @MapKey("id")
    List<AlarmOnTimeVo> alarmNowList(@Param("AlarmOnTimeDto") AlarmOnTimeDto alarmOnTimeDto);

    @MapKey("id")
    AlarmListVo alarmNowById(@Param("AlarmNowDto") AlarmNowDto alarmNowDto);

    @MapKey("id")
    List<AlarmListVo> alarmByDeviceAndSensor(@Param("AlarmNowDto") AlarmNowDto alarmNowDto);

    @MapKey("id")
    BigDecimal offlineDevice(@Param("TableDto") TableDto tableDto);

    @MapKey("id")
    BigDecimal allDevice(@Param("TableDto") TableDto tableDto);

    @MapKey("id")
    List<StatisticVo> typeDevice(@Param("TableDto") TableDto tableDto);

    @MapKey("id")
    List<StatisticVo> offlineTypeDevice(@Param("TableDto") TableDto tableDto);

}
